package caminho;

import java.util.ArrayList;
import java.util.Collections;

/**
 * Classe que modela um caminho possivel para o caixeiro viajante
 *
 */
public class CaminhoCV implements Comparable<CaminhoCV>{
	private ArrayList<DistanciaCidades> caminho = new ArrayList<DistanciaCidades>();
	private int total;

	/**
	 * @return the caminho
	 */
	public ArrayList<DistanciaCidades> getCaminho() {
		return caminho;
	}

	/**
	 * @param caminho the caminho to set
	 */
	public void setCaminho(ArrayList<DistanciaCidades> caminho) {
		this.caminho = caminho;
	}

	public int getTotal() {
		return total;
	}

	public void setTotal(int total) {
		this.total = total;
	}
	
	public void calculaTotal(){
		
		for (DistanciaCidades dc : caminho) {
			total = total + dc.getDistancia();
		}
		
	}

	@Override
	public int compareTo(CaminhoCV o) {
		if (this.total < o.getTotal()) {
            return -1;
        }
        if (this.total > o.getTotal()) {
            return 1;
        }
        return 0;
	}
	
}
